<?php
$mParent = $this->mPadres;
$builder = $mParent->builder;
$builder->db = $this->db;
$db = $this->db;

InputBuilder::$singleton = $builder;

if (!isEmpty(getParam('operation'))) {
    switch (getParam('operation')) {
        case 's':
            save($db);
            break;
        case 'u':
            update($db);
            break;
        case 'd':
            delete($db);
            break;
        case 'r':
            $go = false;
            relacionar($db);
            break;
        case 'dr':
            $go = false;
            delRel($db);
            break;
        case 'all':
            include(IMPL . DS . $this->pathFiles . "alumnos.php");
    }
}

function delRel($db) {
    $s = getParam("SEL");
    if (isset($_GET["SESSION_ID"]) && $_GET["SESSION_ID"] != 0) {
        $db->query_delete("cllg_student_parent_tmp", "STUDENT IN ($s)");
        $arrExplode = explode(",", $s);
        if (count($arrExplode) > 0) {
            reset($arrExplode);
            while ($arrTMP = each($arrExplode)) {
                unset($_SESSION["PARENTS"]["STUDENT"][$arrTMP["value"]]);
            }
        }
    } else {
        $db->query_delete("cllg_student_parent", "STUDENT IN ($s)");
    }
}

function relacionar($db) {
    $data = array('STUDENT' => sqlValue(getParam('STUDENT'), 'int'),
        'PARENT' => sqlValue(getParam('PARENT'), 'int'));
    $db->query_insert("cllg_student_parent", $data);
}

function save($db) {
    $fnac = date("Y/m/d", strtotime(getParam('FEC_NAC')));
    $fnacc = date("Y/m/d", strtotime(getParam('FEC_NAC_C')));
    $data = array('NOMBRE_A' => sqlValue(getParam('NOMBRE_A'), 'text'),
        'NOMBRE_B' => sqlValue(getParam('NOMBRE_B'), 'text'),
        'APELLIDO_A' => sqlValue(getParam('APELLIDO_A'), 'text'),
        'APELLIDO_B' => sqlValue(getParam('APELLIDO_B'), 'text'),
        'FEC_NAC' => sqlValue($fnac, 'date'),
        'SEXO' => sqlValue(getParam('SEXO'), 'text'),
        'ESTADO_CIVIL' => sqlValue(getParam('ESTADO_CIVIL'), 'text'),
        'NACIONALIDAD' => sqlValue(getParam('NACIONALIDAD'), 'text'),
        'DOCTO_ID' => sqlValue(getParam('DOCTO_ID'), 'text'),
        'NUMERO_ID' => sqlValue(getParam('NUMERO_ID'), 'text'),
        'RELACION' => sqlValue(getParam('RELACION'), 'text'),
        'NOMBRE_C' => sqlValue(getParam('NOMBRE_C'), 'text'),
        'APELLIDO_C' => sqlValue(getParam('APELLIDO_C'), 'text'),
        'FEC_NAC_C' => sqlValue($fnacc, 'date'),
        'SEXO_C' => sqlValue(getParam('SEXO_C'), 'text'),
        'DOCTO_ID_C' => sqlValue(getParam('DOCTO_ID_C'), 'text'),
        'NUMERO_ID_C' => sqlValue(getParam('NUMERO_ID_C'), 'text'),
        'RELACION_C' => sqlValue(getParam('RELACION_C'), 'text'));
    $db->query_insert('cllg_parent', $data);
    $rs = $db->query_toArray("select max(ID) mx from cllg_parent");
    $rs = $rs[0];
    $intParent = $rs["mx"];

    $builder = InputBuilder::$singleton;
    $builder->saveFields($intParent);

    $_SESSION["mensaje"] = "¡Datos Guardados!";
}

function update($db) {
    $fnac = isEmpty(getParam('FEC_NAC')) ? null : date("Y/m/d", strtotime(getParam('FEC_NAC')));
    $fnacc = isEmpty(getParam('FEC_NAC_C')) ? null : date("Y/m/d", strtotime(getParam('FEC_NAC_C')));
    $fnac = sqlValue($fnac, 'date');
    $fnacc = sqlValue($fnacc, 'date');
    $data = array('NOMBRE_A' => sqlValue(getParam('NOMBRE_A'), 'text'),
        'NOMBRE_B' => sqlValue(getParam('NOMBRE_B'), 'text'),
        'APELLIDO_A' => sqlValue(getParam('APELLIDO_A'), 'text'),
        'APELLIDO_B' => sqlValue(getParam('APELLIDO_B'), 'text'),
        'FEC_NAC' => $fnac,
        'SEXO' => sqlValue(getParam('SEXO'), 'text'),
        'ESTADO_CIVIL' => sqlValue(getParam('ESTADO_CIVIL'), 'text'),
        'NACIONALIDAD' => sqlValue(getParam('NACIONALIDAD'), 'text'),
        'DOCTO_ID' => sqlValue(getParam('DOCTO_ID'), 'text'),
        'NUMERO_ID' => sqlValue(getParam('NUMERO_ID'), 'text'),
        'RELACION' => sqlValue(getParam('RELACION'), 'text'),
        'NOMBRE_C' => sqlValue(getParam('NOMBRE_C'), 'text'),
        'APELLIDO_C' => sqlValue(getParam('APELLIDO_C'), 'text'),
        'FEC_NAC_C' => $fnacc,
        'SEXO_C' => sqlValue(getParam('SEXO_C'), 'text'),
        'DOCTO_ID_C' => sqlValue(getParam('DOCTO_ID_C'), 'text'),
        'NUMERO_ID_C' => sqlValue(getParam('NUMERO_ID_C'), 'text'),
        'RELACION_C' => sqlValue(getParam('RELACION_C'), 'text'));
    $db->query_update('cllg_parent', $data, 'ID=' . sqlValue(getParam('ID'), 'int'));

    $builder = InputBuilder::$singleton;
    $builder->saveFields(getParam('ID'));
    $_SESSION["mensaje"] = "¡Datos Guardados!";
}

function delete($db) {
    $db->query_delete('cllg_parent', 'ID=' . sqlValue(getParam('ID'), 'text'));
    $builder = $_SESSION["builder"];
    foreach ($fields as $fld) {
        $db->query_delete('cllg_table_valuebyfield',
                'FK_TABLEFIELD=' . sqlValue($fld, 'text')
                . ' AND PK_RECORD=' . sqlValue(getParam('ID'), 'text'));
    }
}

?>